package com.yuandian.api.management.po;

import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuandian.api.management.entity.ConfMpService;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;

/**
 * 说明：中台监控-服务配置请求参数
 * @Author zfsn
 * @Date 2023/4/19 14:10
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class ConfMpServiceParams extends Page<ConfMpService> {

	/**
	 * 主键，唯一标识数据
	 */
	private Integer id;

	/**
	 * 所属能力id
	 */
	private Integer abilityId;

	/**
	 * 所属中台id，字典：mp_type
	 */
	private String middlePlatformId;

	/**
	 * 服务调用模式编码，字典：mp_service_invocation
	 */
	private String invocationMode;

	/**
	 * 服务编码，固定12位
	 */
	private String serviceCode;

	/**
	 * 服务名称
	 */
	private String serviceName;

	/**
	 * 是否频繁访问，0：否(默认)、1：是
	 */
	private Integer isFrequentAccess;

	/**
	 * 中断耗时阈值，默认300秒(5分钟)
	 */
	private Integer interruptTimeThreshold;

	/**
	 * 快速响应上限阈值
	 */
	private Integer fastResUplimitThreshold;

	/**
	 * 正常响应上限阈值
	 */
	private Integer normalResUplimitThreshold;

	/**
	 * 缓慢响应上限阈值
	 */
	private Integer slowResUplimitThreshold;

	/**
	 * 备注
	 */
	private String remarks;

	/**
	 * url
	 */
	private String url;

	/**
	 * 资源编码
	 */
	private String resourceCode;

	/**
	 * 主量纲(中台二期新增)
	 */
	private String majorDimension;

	/**
	 * 副量纲，多个则用 ‘,’ 隔开(中台二期新增)
	 */
	private String subDimension;

	/**
	 * 副量纲 切割成 List 返回给前端(中台二期新增)
	 */
	private List<String> subDimensionList;

	public void setSubDimension(String subDimension) {
		if(CollectionUtil.isNotEmpty(subDimensionList)) {
			this.subDimension = String.join(",", subDimensionList);
		}
	}
}
